#-*- encoding:utf-8 -*-

"""
给定一个数组，将其中所有的0后移至末尾，其他值保持相对位置不变
要求：原数组操作无需创建数组副本 最小化操作总次
0 1 0 3 12 ——> 1 3 12 0 0
1. 依次判断是否是0，是的话，该数组清空，放入下一个不为0，后续再补0
2. 上述换言之即，压缩  nums[pos] = nums[i] 注意并没有新增数组，是在原数组上操作
"""
def moveZeroes(nums):
	length = len(nums)
	pos = 0
	for i in xrange(length):
		if nums[i]!=0:
			nums[pos] = nums[i]
			pos +=1

	for i in xrange(pos,length):
		nums[i] = 0


nums = [0,1,0,3,12]
moveZeroes(nums)
print nums

		